One sticky point when defining variables (both on back ends and in Emacs in general) is that some variables are typically initialized from other variables when the definition of the variables is being loaded. If you change the “base” variable after the variables have been loaded, you won't change the “derived” variables.
This typically affects directory and file variables. For
instance, nnml-directory is ~/Mail/ by default, and all
nnml directory variables are initialized from that
variable, so nnml-active-file will be
~/Mail/active. If you
define a new virtual nnml server, it will
not suffice to set just
nnml-directory—you have to explicitly set all
the file variables to be what you want them to be. For a complete
list of variables for each back end, see each back end's section
later in this manual, but here's an example nnml
definition:
(nnml "public"
(nnml-directory "~/my-mail/")
(nnml-active-file "~/my-mail/active")
(nnml-newsgroups-file "~/my-mail/newsgroups"))
Server variables are often called server parameters.